package com.ebei.admin.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ebei.admin.model.dto.OrgDTO;
import com.ebei.admin.model.dto.OrgRoleUserDTO;
import com.ebei.admin.model.entity.SysPark;
import com.ebei.common.util.Query;
import com.ebei.common.util.Result;
import org.springframework.cache.annotation.CacheEvict;

import java.util.Map;

public interface SysParkService extends IService<SysPark> {

    /**
     * 分页查询园区信息
     *
     * @param query 查询条件
     * @return
     */
    Page findByParam(Query<Map<String,Object>> query);

    /**
     * 更新记录,,其中第二个参数是缓存的key
     *
     * @param map
     * @return
     */
    Result<Boolean> update(Map<String, Object> map) throws Exception;

    /**
     * 根据orgId和type 查找园区的子节点
     * @param map
     * @return
     */
    Result findUnitByType(Map<String, Object> map);

    /**
     * 根据用户
     * @param userId
     * @return
     */
    Result findByUserId(Integer userId);

    /**
     * 逻辑删除数据
     *
     * @param id
     * @return
     */
    Result delete(Integer id);

    /**
     * 禁用园区
     *
     * @param orgDTO
     * @return
     */
    Result lock(OrgDTO orgDTO);

    /**
     * 获取园区列表
     * @return
     */
    Result getParkList();

}
